package com.irdstudio.efp.cus.service.dao;

import com.irdstudio.efp.cus.service.domain.CompanyWhiteList;
import com.irdstudio.efp.cus.service.vo.CompanyWhiteDeleteExcelVO;
import com.irdstudio.efp.cus.service.vo.CompanyWhiteListVO;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

/**
 * DAO Interface: 企业白名单
 *
 * @author gcb
 * @date 2020-07-31
 */
public interface CompanyWhiteListDao {
    /**
     * 新增数据
     *
     * @param companyWhiteList
     * @return
     */
    public int insert(CompanyWhiteList companyWhiteList);

    /**
     * 根据主键删除信息
     *
     * @param companyWhiteList
     * @return
     */
    public int deleteByPk(CompanyWhiteList companyWhiteList);

    /**
     * 根据主键更新信息
     *
     * @param companyWhiteList
     * @return
     */
    public int updateByPk(CompanyWhiteList companyWhiteList);

    /**
     * 根据主键查询详情
     *
     * @param companyWhiteList
     * @return
     */
    public CompanyWhiteList queryByPk(CompanyWhiteList companyWhiteList);

    public List<CompanyWhiteList> queryAllListByPage(CompanyWhiteList companyWhiteList);

    public List<CompanyWhiteList> queryCWhiteListByCondition(CompanyWhiteListVO companyWhiteList);

    public int batchDeleteByCompanyId(@Param("companyIdList") List<String> companyIdList);

    public int updateSetDt(CompanyWhiteList companyWhiteList);

    public int batchInsertList(@Param("inserCompanyList")List<CompanyWhiteListVO> inserListBatch);

    public List<CompanyWhiteList> queryConditions(CompanyWhiteList companyWhiteList);

    public int updateCompanyWhite(CompanyWhiteList companyWhiteList);

    public int batchDelCompanyWhiteByExcel(@Param("batchDelCompanyByExcel")List<CompanyWhiteDeleteExcelVO> companyWhiteDeleteExcelVO );

    List<CompanyWhiteList> queryCompanyName(CompanyWhiteList companyWhiteList);

    List<CompanyWhiteList> queryOverDtList();

    int deleteByCompName(CompanyWhiteList entpNm);

    int updateByCompName(CompanyWhiteList queryCompanyWhiteParam);

    int effectiveDate();

    List<CompanyWhiteList> queryCompanyLikeName(CompanyWhiteListVO vo);

}